package cn.bonoon.kernel.web.annotations.grid;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * <pre>
 * 把一个实体类定义成一个treegrid的界面控制，会直接解释该类下的属性
 * 自动生成界面控制treegrid
 * <hr/>
 * 如果需要指定grid列表的属性，则需要使用{@link GridOptions}注解
 * grid列的定义需要用到注解{@link AsColumn}
 * <hr/>
 * 如果对被注解的实体需要进行自动转值的，
 * 请参考{@link cn.bonoon.kernel.annotations.TransformField TransformField}和{@link cn.bonoon.kernel.annotations.Transform Transform}
 * </pre>
 * 
 * @author jackson
 * 
 */
@Target(TYPE)
@Retention(RUNTIME)
public @interface AsTreeGrid {
	
	/**
	 * Toggles expanded/collapsed state of the node.
	 * @return
	 */
	boolean toggle() default true;

	String idField() default "id";

	String treeField() default "name";
	
	GridOptions value() default @GridOptions;
}
